System for controlling a single control variable by proportioning a plurality of related manipulated variables

ABSTRACT

A digital control system determines a control signal in accordance with proportional and integral control responses. The control signal is proportioned among a plurality of final control elements so as to modify related manipulated variables. The values of the manipulated variables are summed and that sum is similarly proportioned. The resulting individual portions are then compared with the value of the associated manipulated variable and the difference is added to the corresponding proportions of the control signal to correct the divergence of the response of the control elements from the desired proportioned response.

United States Green et al.

[451 Sept. 12,1972

[72] Inventors: Thomas A. Green, Roslyn; Charles W. Ross, l-latboro, both of Pa.

[73] Assignee: Leeds & Northrup Company,

Philadelphia, Pa.

221 Filed: June 18, um

21 Appl. No.: 154,370

Bishop ..235/l51.l X Hardaway ..235/l50.l

Primary Examiner-Eugene G. Botz Attorney-William G. Miller, Jr. and Raymond F. MacKay [5 7] ABSTRACT A digital control system determines a control signal in accordance with proportional and integral control responses. The control signal is proportioned among a plurality of final control elements so as to modify related manipulated variables. The 'values of the manipulated variables are summed and that sum is 52 U.S.Cl ..23 1 I51} in. CI. 535 612745 slmflafly propomoned- The resume mdmdual [58] Field of gearch 12 151 tions are then compared with the value of the as- 31 5 6 sociated manipulated variable and the difference is added to the corresponding proportions of the control signal to correct the divergence of the response of the [56] References Cited control elements from the desired proportioned UNITED STATES PATENTS response- 3,039,687 6/1962 Chope ..235/15l.l X 8 Claims, 6 Drawing Figures l 21: 24 P PROCESS e UPDATE ggxggg CONTROLLER CONTROL I RATE LIMIT DESIRED POS Pdi =Ki ZAPdi i; AM =Ki Pi(MAXl Pdi n I ermi 92 R i IF Poi PiIMlNl /82 [70 RATE LIMIT i P 1 DEAD BAND PATENTEDSEP 12 m2 SHEET 0F 4 INPUT PROCESS CONTROL VARIABLE, c

EXECUTE CONTROL ALGORITHM YES ACTIVE PERMISSIVE APdi= APd -SlGN(APd) YES EXC=

EXC-I-APdi-SIGMedn RLi YES IAPdi RLi A slsmeflmL YES Pd P (MAX) Pdi =Ki Pi (MAX) Pd Pi(MlN) Pd Pd +K +APdi CONTROL OUTPUT Pdi TO ELEMENT UPDATE CONTROL END ' LAST i ERROR USING EXC SYSTEM FOR CONTROLLING A SINGLE CONTROL VARIABLE BY PROPORTIONING A PLURALITY OF RELATED MANIPULATED VARIABLES BACKGROUND OF THE INVENTION In automatic control systems for processes requiring the proportioning of related manipulated variables to properly control a control variable, the maintenance of the desired proportional relationship has been difficult to optimally maintain in systems utilizing digital control. In the past only analog control systems controlling a plurality of manipulated variables have been utilized because of the availability of continuous feedback from the manipulated variables. However, optimal control by analog means has been limited due to computational and logical restrictions of analog control elements.

It is therefore an object of this invention to provide an improved digital control system for a plurality of related manipulated variables controlling a single control variable at a set point.

It is another object of this invention to provide a system which will correct for any control response or lack of control response which takes the manipulated variables under control away from their predetermined relationship.

SUMMARY OF THE INVENTION The disclosed method provides means for controlling a plurality of related manipulated variables in a process so as to maintain a measured process variable at its set point while at the same time maintaining a predetermined relationship between the manipulated variables. The system for accomplishing this objective may consist of the following steps and apparatus necessary for carrying out those steps.

First there is produced in response to an error signal a first control signal which is calculated as thedeviation of the measured process variable from its set point. That first control signal represents the total change desired in all of the manipulated variables to bring the measured process variable back to its set point. There is then produced a second control signal for each manipulated variable in response to the first control signal. That second control signal represents a predetermined part of the first control signal such that the sum of the second control signals will represent the total value of the first control signal.

There is then produced a third control signal by the addition to each of the second control signals of a correction signal which would represent the deviation of the value of the manipulated variable from a value representing a predetermined part of the total value of all of the manipulated variables. Each of the manipulated variables is modified in accordance with the value of the associated third control signal and the value of each manipulated variable is measured.

In order to provide for the maintenance of the proper proportional relationships between the manipulated variables the measured values of all of the manipulated variables are summed to obtain a total value for the manipulated variables. From that total value there is produced a value for each of the manipulated variables which is a partial signal representing a predetermined part of the total value for the manipulated variables with the total of all of the parts equalling the total value of the manipulated variable. Each of the partial signals is compared to the measured value of the corresponding manipulated variable and there is produced by the difference therebetween the correction signals which 5 are added to the second control signal as mentioned above.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a control system utilizing a digital computer to control a plurality of control elements to adjust a controlled variable of a process.

FIG. la is a circuit diagram of one form of control element which may be used in FIG. 1.

FIG. lb is a circuit diagram of another form of a control element which may be used in a system of FIG. 1.

FIG. 2 isa signal processing diagram illustrating the various signal processing steps which make up the novel method.

FIG. 3a is part of a flow chart showing an algorithm which may be used as a basis for a program for a digital control system in accordance with the-present invention.

FIG. 3b is a flow diagram showing the remaining part of an algorithm which may be combined with the algorithm of FIG. 3a to provide the complete control system of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1, which is illustrative of the overall control system with which the present invention is concerned, shows a process 10 being controlled by a digital computer 12in response to the measurement-of a process variable which is to be controlled, namely c. The value of the process variable is compared with an input signal SP, representative of the set point, to produce control signals on lines 16, 18 and 20'to the separate control elements such as 22, 24 and 26, respectively. Those control elements each modify one of the inputs to the process, which are here represented as a flow of material such as fuel, through the pipes 28, 30 and 32.

Signals representing the value of each of n manipulated variables associated with the control elements such as 22, 24 and 26, namely Pa ,.Pa, and Pa, are sent by way of lines such as 34, 36 and 38, respectively, to the computer 12 where they are utilized in the calculation of the signals Pd Pd, and Pd which represent the desired values for the manipulated variables, such as the positions of the final control elements.

The process 10 of FIG. 1 is assumed to be a process of the type in which it is desired to provide a predeter" mined relationship between each of the i inputs to the process through the pipes, such as 28, 30 and 32, while at the same time adjusting the total magnitude of the n inputs so as to maintain the control variable c at its set point. The process 10 may, for example, be a steam generating boiler in which a plurality n of oil fired burners are utilized to provide the fuel inputs and where it is required that the flow of oil to the burners be proportioned in a predetermined manner so as to maintain the controlled variable, such as steam pressure, at its desired value. Many other processes have similar requirements for the proportioning of the manipulated variables utilized to control a particular control variable of the process. Such processes include, for example, the proportioning of the air flow through several cooling fans in a cement process for the clinker cooling grate so as to maintain a selected cooling profile and still keep air flow at its desired value.

FIG. la shows one form which the control elements 22, 24 and 26 may take. In FIG. 1a the desired position of the valve drive motor 40 is supplied to the control element in the form of a signal on line 18 representing the desired value of the manipulated variable i, namely position Pd,. The signal Pd, provides an input to the motor positioner 44 which compares the signal on line 18 with that on line 46 from slidewire 48, which signal represents the actual position of the valve drive motor 40 or its percent of full travel. The motor positioner 44 provides over its -three output lines 50 the power neces sary to drive the motor 40 in either direction so as to position the valve 52 through the mechanical coupling 54 and at the same time position the contact 48a of slidewire 48 through the mechanical coupling 55.

By a further extension of the mechanical coupling 55 the contact 56a of slidewire S6 is positioned so as to be representative of the position of the shaft of motor 40 and hence of valve 52 or the percent of its full travel, whichever may be desired.

Each of these slidewires 48 and 56 is supplied by a D.C. potential source as shown. I

It will thus be evident that the control element of FIG. la provides for an adjustment of the fluid flow through the pipe in accordance with the magnitude of the input signal Pd, by the adjustment of valve 52 and the control element also provides on line 36 a signal Pa, representative of the value of manipulated variable i. Thus, in this particular arrangement the manipulated variable is the valve position.

In FIG. lb an alternative form of the control element which may be used in FIG. 1 is shown with a motor positioner 44 similar to that of FIG. la supplied by a signal Pd,- indicating the desired position for the valve 52 and hence indirectly indicating the desired flow in pipe 30. The positioner 44 provides over the output lines 50 the power required to revolve motor in either direction so as to provide through the mechanical coupling 54 the necessary desired positioning of valve 52 and to provide through the :mechanical coupling 55 a positioning of the contact 48a on slidewire 48 so as to supply on line 46 to the position 44 a signal representative of the actual position of valve 52 or its percent of full travel.

In FIG. 1b the manipulated variable Pa, is obtained by means of a flowmeter 64 which is connected by way of pressure taps to the pipe 30 such that the flow is measured in accordance with the pressure drop across the restriction 66. Thus, in FIG. 1b the manipulated variable is the value of the flow through pipe 30 as contrasted with the arrangement of FIG. 1a in which the manipulated variable is the position of the valve 52 and therefore is only indirectly representative of the flow through the pipe 30.

In FIG. 2 there is shown in block diagram form similar to that of a comparable analog control system the signal processing steps which are utilized in accomplishing the novel control method. These signal processing steps are those which would be carried out, for example, in the digital computer 12 of FIG. 1. The

process steps may be considered as beginning with the summation in block of the value of all of the manipulated variables Pa, to produce a signal EPd, representative of the total value of the manipulated variables under control. The signal ZPa, is then divided into proportionate parts in the block 74 so that the individual output signals of the block 74 are C p zPa and hence are each representative of the proportionate part of the total value of the manipulated variable which is to be accounted for by each of the individual manipulated variables as a result of the control action taken. In the block 74 the values C"p represent the participation of the ith manipulated variable. C, represents a conversion factor as may be necessary for the conversion or scaling of the units such as from engineering units into percentages.

The individual outputs of the block 74 each then have added to them a signal such as that on line 76 representative of the difference between an actual zero offsetTO, desired for the value of the manipulated variable and the average zero offset ZO, namelya signal (20,-26). This enables each control element to be biased or offset with respect to the others. For example, control element 1 may participate equally with control element 2 but is biased 10 percent higher throughout the control range.

There is then produced on line 78 a signal representing that portion of the total value of the manipulated variable plus any deviation from the average zero offset and then the signal on line 78 is compared with the value of the associated individual manipulated variable Pa,- and that comparison produces a signal on line 80 which represents the difference between the actual value of the manipulated variable and the desired value in order to maintain the predetermined proportionate relationships established in block 74 taking into account any zero offsets. That difference is then compared with a value establishing a deadband which represents a band of values in response to which no participation correction is desired. If the value of the signal on line 80 falls within the deadband the signal APp, on line 84, which isthe output from block 82, will be zero. In addition block 82 includes a comparison'of the signal on line 80 with the rate limit RL which rate limit represents the maximum change in the deviation of the manipulated variables from their desired values which will be utilized in correcting the control action each control execution of the corresponding manipulated variables. When the signal on line 84 is the same as the signal on line 80 then the signal on line 80 is beyond the deadband value and not beyond the rate limit whereas the signal on line 84 is zero if the signal on line 80 is within the deadband and the signal on line 84 is equal to the rate limit RL, when the signal on line 80 exceeds the rate limit. The signal APp, on line 84 is a correction signal which is utilized to correct the main or forward control path which will be described subsequently.

The rate limiting accomplished in block 82 is for the purpose of providing an orderly correction of the errors in the participation of the individual control elements in the control of the process variable which is being measured, for it is desired that the correction of the amount by which the individual control elements are out of the desired relationship in their participation in the control should be accomplished without causing errors to develop in the forward or main process control signal path.

In order to compensate for the fact that the total of all of the correction signals may introduce a control offset due to the deadband and rate limit imposed by block 82 it is desirable to sum as in block 90 all of the correction signals so as to obtain a signal EAPp representative of the sum of all of the correction signals. That signal can then be subtracted from the control signal e in the forward or main control path as shown in FIG. 2. In this manner the summation of each APp and ZAPp will always be zero producing no net effect in control.

The main control signal path includes a comparison of the controlled variable c with the set point as indicated by the symbol 92 to obtain a signal on line 93 representative of the error e. The signal on line 93 is then processed in accordance with the usual control algorithm by the block indicated as controller '94 to produce as an output a first control signal e,, on line 96. The signal e may represent the control signal developed after a processing of the error signal e to provide proportional and integral response and in some cases, where desired, also a derivative response. For purposes of illustration the following description will limit the control response considerations to only proportional and integral response it being well known to those skilled in the art the manner in which the control response may be extended to include the derivative response.

The output of the controller 94 takes into account also an updating of the control signal which is accomplished by virtue of the input on line 98 from the block 100 which compensates the control signal for the excess control action previously called for but not taken, as will be explained.

As previously mentioned the control signal e is normally reduced by a value ZAPp supplied online 102 so that the modified signal may be supplied on line 104 to the block 106 where that signal is divided into separate second control signals each representing a predetermined portion C p of the first control signal e corrected by the signal EAPp. p, represents the percent participation of manipulated variable i and C, is the conversion factor for sealing, similar to C The prorected by the correction signal supplied on line 85 from.

line 84. The introduction of the signal from line 85 corrects the second control signals for the amount by which the particular manipulated variable was away from its predetermined desired relationship with the other manipulated variables.

The control signal thus corrected is then a third control signal. It is compared with a rate limit value RL, as indicated in block 108 such that the output of that block APd, is equal to the input value as long as the input value does not exceed the rate limit RL, Whereas the value APd, would be set equal to the limit RL, with the appropriate sign when the input to block 108 does exceed the rate limit.

The values for AP, calculated after each sampling of the controlled variable for the process 10 are summed and multiplied by a constant K, to provide a signal on the output line 110 representing the desired value for the particular manipulated variable, namely Pd The constant K, may be used to convert outputs into engineering units. The block 111 has not only an input from line 109 but also input representing the actual manipulated variable value Pa on line 112 so that the output on line 110 can be made equal to K,P,(max) when Pa, is greater than P,(max) or in other words when the manipulated variable is greater than its maximum. Similarly the output on line 110 can be equal to K,P (m'in) when the value Pa, is less than its minimum value.

The signal on line 110 is supplied as an input to the control element 24, which control element may be of the type shown in FIG. la or FIG. lb.

The introduction of the rate limit in block 108 may result in a limiting of the control action to something less than that desired because of the limitations of the rate at which the final control element, for example, the valve adjusting motor of FIG. 1a and FIG. lb can adjust valve 52. Such rate limiting will cause a loss of control information unless appropriate compensation is made by updating the controller. This is accomplished by the accumulation of the excess unused control signals in the accumulator which then provides the excess to the block 100 for the purposesand in the manner described in US. Pat. No. 3,566,24l issued to Charles W. Ross on Feb. 23, 1971.

It will be evident from the examination of FIG. 2 that the control normally executed will be of the mandatory type. However, it may be desirable in those situations where the value of the control signal e is less than a particular predetermined value to have the control executed in a permissive fashion, that is, only when the sign of the control signal e, is the same as the sign of the signal APd, representing a particular portion of the control signal. In other words, the control signal is in a direction to return the control element to its desired position.

To accomplish the transfer from mandatory to permissive control additional signal processing is required. That additional signal processing is accomplished by comparing the absolute value of the control signale with a predetermined value e,', as shown. The comparison is represented by the block 122 which also indicated that when the absolute value of the control signal e is greater than the value c the signal paths shown by lines 102 and 85 are completed paths as indicated by the closed switches shown in those paths. The switch shown connecting the signal APd, to the rate limiting block 108, which is shown closed, provides the signal path for the mandatory control.

If the sign of the control signal e is not the same as the sign of the signal APd,, then the switch shown as 124 may be considered opened and that signal path as incomplete. However, when the absolute value of the control signal e is less than the predetermined value e, and it is desired that permissive control be accomplished, signal paths 102 and 85 are disconnected as is the signal path for the APd, through the switch 126 and instead the signal APd, will be allowed to pass through the switch 124 when the sign of the control signal e is the same as the sign of the signal APd indicating that the desired change in the individual manipulated variable is in the same direction as total desired change for all of the manipulated variables. The sign comparison referred to is made as shown in the block 128.

The signal processing steps shown graphically in FIG. 2 may be accomplished by means of a program for a digital computer following the algorithm illustrated in the flow diagram of FIGS. 3a and 3b. Following this flow chart it will be evident that the program is entered and the various program steps are begun by first sampling the actual positions Pa, as indicated by block 200. As mentioned before, Pa, represents the value of the ith manipulated variable. Following the inputting of the actual positions Pa the value for i is set equal to l and the value for ZPa is set to zero as indicated by block 202. Then the value EPa, is calculated by summing the values ZPa as previously determined (initially zero) with the value Pa,. This calculation is shown in block 204 and is followed by a determination, in block 206, as to whether or not the last manipulated variable has been considered, hence the question is asked, Last i". If the answer to that question is no then as indicated by block 208 the value of i is increased by one and the calculation made by block 204 is repeated. Thus the calculation of the value EPa proceeds by taking into account the value Pa, for all of the manipulated variables. This summation process is then followed by a setting of the value of i l and a setting of the value of ZAPp as shown in block 210. Those settings are made whenever all of the manipulated variables have been considered in calculating ZPa.

As a next step the. value of P,- which represents the desired value for the ith manipulated variable after correction for zero offsets is calculated as shown in block 212 by multiplying the signal EPa representing the total value of all of the manipulated variables by a proportionate factor C"p,' representing the individual proportional parts of the total which are assigned to each of the manipulated variables in accordance with the desired relationship which is to be maintained by the control. The resulting quantity C;'*p,'*EPa is added to the signal representing the deviation ofgie zero offset from the average, namely the ZO ZO, where ZO represents the zero offset to determ ine the range in which the participation applies andZO, represents the average value of all of the values of ZO,.

Following calculation in block 212 is a calculation of the value APp, by subtracting from the value P, the value Pa as shown in block 214. Thus the block 214 serves to compare the actual value of the manipulated variable Pa with the computed desired value representing a predetermined portion of the total value of all of the manipulated variables as modified by the zero offset so that there is then produced a signal APp, which represents the change necessary in the manipulated variable to bring it into the predetermined relationship established for it with regard to the other manipulated variables being controlled.

The value APp, is then compared with a value previously established to determine the deadband; or, in other words, a band of values for APp, which will not be effective to modify the control. Thus in block 216 the absolute value of APp, is examined to see if it is greater than the value for the deadband DBp, and if in fact the absolute value is greater than the deadband value the program then continues to block 218 where the absolute value of APp; is then compared with the rate limit value R" by examining to see if the value of APp is greater than RL If it is not then the program continues by way of the path 219 and the question is asked in block 220 as to whether or not the last manipulated variable has been considered and if that is not the case then the value of i is increased by one as shown in block 222 and the program proceeds back to the block 212 to carry out similar calculations for the next manipulated variable being considered.

If the value APp is not greater than the deadband value the program instead of going to block 218 would follow the path 224. In the path 224 the calculation shown by block 226 is accomplished, namely the value for ZAPp is calculated as being equal to the sum of the values EAPp previously calculated plus APp, and then as shown in block 228 the value APp, is set equal to zero and the program continues to block 220. Thus the effect of the computations in block 226 and the setting of the value of APp, by block 228 is to modify the value of the signal EAPp so that the control signal e may be corrected appropriately taking into account the fact that the value APp, did not exceed the deadband and hence no correction signal APp will be used for that particular manipulated variable being considered.

If the absolute value of APp, is greater than the rate limit RL, then the value EAPp is calculated by summing the previous values EAPp with the value established by subtracting the absolute value of APp, from the rate limit value RL, and giving that value the sign of APp, before summing it with the value ZAPp previously obtained. This calculation is shown in block 230 and is followed by the calculation in block 232 wherein APp, is set equal to the value of the rate limit, namely RL, and is given the sign corresponding to APp, at which time the program proceeds to the block 220.

After all of the manipulated variables have been considered the program then proceeds to the next section of the flow chart as indicated by the connecting symbol A.

Referring to FIG. 3b,- it will be evident that the program continues from the connecting point A by inputting the process control variable c as shown in block 214. Next the value for the error e is calculated as being the set point value SP minus the control variable value c as shown in block 242. This calculation of the control error is followed by an execution of the control algorithm as indicated by block 244. The control algorithm may be a simple algorithm such-as that shown beside the block 244 or it may be a more complex algorithm following any one of the number of approaches described and discussed in the paper, Direct Digital Control Algorithm with Anti-Windup Feature by Harry A. Fertik and Charles W. Ross as presented at the Twenty-Second Annual ISA Conference in Chicago, 111., in September of 1967.

As an example of the type of control algorithm which may be used the block 246 is shown as computing the integral component of the control signal, namely e,. That component is computed as being the product of the reset rate and the error calculated in block 242. After a calculation of the integral component the calculation may be made, as in block 248, of the propor- 9 tional component by multiplying the proportional gain P by the difference between the error calculated this time and the error calculated last time. Upon calculating the proportional component the proportional and integral component can be combined by summing as shown in the block 250 to provide the control signal e Having calculated the control-signal e the program can move to the block 252 where it is indicated that the quantity i is set equal to l and the accumulated excess control EXC is set equal to zero. Having set those values as indicated the program proceeds to block 254 where the absolute value of the control signal e is examined to see if it is greater than e,, which is established as the value below which the control is to be permissive rather than mandatory. If the answer to the question posed in block 254 is yes, the control is an active control of mandatory nature and the quantity APd, is calculated as the sum of the correction signal APp, plus the portion C,p, of the error signal e as it is modified by subtracting the signal EAPp. This calculation of APd, is shown in block 256.

If the absolute value of the control error e is not greater than e, then the quantity APd, is calculated as the sum of the portion C,p, times the control error e as shown in block 258 to provide a quantity which may be used for permissive control if the sign of the control error e is the same as the sign of APd as determined in block 260. If these signs are not the same then no change in magnitude of the manipulated variable is determined for the particular variable being considered and the program proceeds by way of the path 262 to a later point in the program where the program proceeds to the next manipulated variable to be considered. If the signs are the same the program then proceeds to block 264 where the absolute value of APd, is examined to see if it is greater than the rate limit RL, or in other words the amount of control desired this time is examined to see if it is greater than the amount of control which can be accomplished by the control element this control cycle and, if it is not greater, the program then proceeds along the path 266, however, if the magnitude is greater the program proceeds to block 268 where the excess control EXC is calculated as being the previously accumulated excess value plus the quantity APd, minus the rate limited value RL, which is given the sign of the control signal 2,. Having computed the excess control which has been accumulated the program proceeds to compute as being equal to the limited value RL, with the sign being the same as the sign of the control signal e as indicated in block 270. The program then proceeds to block 272 where the quantity Pd, last computed is examined to see if it is greater than the maximum value it can have, namely, P,(max). If it is not, then that same quantity is examined to see if it is less the minimum P,(min); and if it is not less than the minimum, then a new value Pd, is computed as being the last value plus a constant K, times the computed value APd,. The value APd, may either be the value computed in block 256 or, if it is greater than the value set for the rate limit, it would be the value established by box 270, namely the rate limit value RL,, unless the absolute value of e, is not greater than e,, in which case APd, is calculated in block 258.

The computation of Pd, is shown in block 276 and follows the examination for the minimum value shown in block 274. If the value Pd, exceeds the maximum then the value for Pd, is calculated, as shown in block 273, as being equal to the constant K, times the maximum value P,(max), likewise, if the value Pd, is less than the minimum, then the value Pd, is set as being equal to the constant K, times the minimum value P,(min), as indicated in block 275.

Having calculated the value for Pd, that value can then be outputted as indicated in block 280 to the control element associated with the particular manipulated variable being considered. The quantity Pd, may be outputted to the controller elements as shown in FIGS. 1a and 1b, for example, as a potential whose magnitude is proportional to the value Pd,. The potential being developed by any number of well known outputting schemes.

Following the outputting of the value Pd, the question is asked by the program as to whether or, not the last of the manipulated variables has been considered. That question is indicated in block 282. If the answer is no" then the number for i is then increased by one as shown in block 284; the program then proceeds back to block 254 for the calculation of the value Pd, for the next manipulated variable. Once the program has calculated the values for Pd associated with all of the manipulated variables as an output of those values is accomplished and the program then goes to the block 286 wherein it carries out an updating of the controller using the accumulated value for the excess control, namely EXC. That updating may be carried out, for example, by computing a correct value for the error to be used in the next computation of the control algorithm as, for example, in block 248 after the next sampling period. Thus, the value e(nl) may be computed as being the sum of the difference between the control signal e, and the excess accumulated, namely, EXC plus a value equal to the proportional gain P times the error calculated during the previous sampling period with the whole quantity being divided by the sum of the reset rate and the proportional gain thus the value e(nl) may be calculated as follows:

The basis for this equation is established in US. Pat. No. 3,566,241 previously referred to.

The functional flow diagrams of FIGS. 3a and 3b may be executed on a real time computer by utilization of the Fortran program of the type set forth below.

C FORTRAN IV PROGRAM FOR PARTICIPA- TION CONTROLLER C C THIS PROGRAM USES SUBROUTINES ANALOG INPUT-AI, ANALOG C OUTPUT-A0, TWO MODE CONTROLLER- Pl, CONTROLLER C UPDATE, AND CLOCK INTERRUPT PROCES- SOR-CLOCK EC=0 DIMENSION DBR(10), RL( l0), RLP( 10),

RHOP(10), C(l0),CP(l0) 1PMAX(10),PMIN( lO),PA( l0),

RHO(l0),ZOlOlO) C READ PROGRAM PARAMETERS VIA TYPEWRITER WITH 11 C FREE FORMAT READ (1,100)ZOAVG,PROP,I

ACT,SP,ECP,(CP(l),RI-lOP(l),ZO(I),

lDBR(I),RLP(I),C(I),RHO(I),RL(I),R-

, MAX(I),PMIN(I),K(I), 2l=l,10) L= C sUBROUTINE CLOCK (N,L)N Is THE lN- TERRUPT CHANNEL AND C L Is A COUNTERINDExED EACH TIME IN- TERRUPTS ARE RECEIVED 1 CALL CLOCK(1,L) 2 IF(L)1,1,2 2 L=0 C SUBROUTINE Al(I,X)l Is THE ANALOG INPUT CHANNEL AND C x IS THE ARRAY WHERE INPUTS ARE sTORED CALL Al(l,PA(I),l=l,l0) SPA=0 DO 3 I=l,10 3 SPA=SPA+PA(I) SDPR=O DO 10 I=l,l0 P(l)=CP(l)*RHOP(I)*SPA+ZO(I)ZOAVG DPR(l)=P(I)-PA(I) lF(ABS(DPR(I)-DBR(I)) 5,6,6 5 SDPR=SDPR+DPR(I) DPR(I)=0 GO TO 6 IF(ABS(DPR(I))-RLP(I))l0,10,9 9 SDPR=SDPR+SIGN(DPR(I))*(RLP(I) ABS(SPR(I))) 10 DPR(l)=SlGN(DPR(l))*RLP(l) CYINPUT CONTROLLED VARIABLE ON CHAN- NELO CALL Al(0, C) E=SPC C SUBROUTINE Pl(P,l,E,EC)-P IS PROPOR- TIONAL OAIN, C I Is REsET ACTION, Is ERROR INPUT C EC Is UPDATED CONTROL ACTION FROM ANTl-WINDUP ROUTINE CALL PI(PROP,JACT,E,EC)

DO 30 I=l,l0 lF(ABS(EC)-ECP) 13,13,14 13 DPD(I)=C(I)*RHO(I)*EC lF(EC*ECP) 30,30,14 l4 DPD(l)=DPD(I)+C(l)*RHO(l)*(ECSDPR) l5 IF(ABS(PD(l))-RL(I)) 17,17,16 l6 EXC=EXC+DPD(I)ASlGN(EC)*RL(I) DPD(I)=SIGN(EC)*RL(I) l7IF(PD(l)PMAX(l)) 19,19,18 1s PD(I)=PMAX(I) l9 lF(PD(I)-PMIN(I)) 20,21,21 PD(l)=PMlN(l) 21 PD(I)=PD(I)+K(I)*DPD(I) C sUBROUTINE AO(I,X)-l IS THE CHANNEL NUMBER AND C x lS VARIABLE FOR OUTPUT CALL AO(I,PD(I)) CALL AO(I+l0,EE(l)) 30 CONTINUE C SUBROUTINE UPDATE(X,Y)X IS THE EX- CESS CONTROL C ACTION RESULTING wHIcH IS PROCESS AND STORED IN C Y FOR USE BY CONTROLLER NEXT INTER- VAL CALL UPDATE(EXC,EC) C RETURN TO CLOCK ROUTINE TO AWAlT 5 NEXT CONTROL C INTERVAL GO TO 1 100 FORMAT( END What is claimed is: l. The method for controlling a plurality of related manipulated variables in a process so as to maintain a measured process variable at its set point while maintaining a predetermined relationship between the manipulated variables comprising the steps of producing in response to an error signal calculated as the deviation of the measured process variable from its set point afirst control signal representing the total change desired in all of said manipulated variables to bring said measured process variable back to its set point, producing a separate second control signal for each manipulated variable in response to said first control signal so that each of said second control signals represents a predetermined part of said first control signal and the sum of said second control signals represents the total value of said first control signal,

producing third control signals by adding to each of said second control signals a correction signal representing the deviation of the value of the manipulated variable from a value representing a predetermined part of the total value of all of said manipulated variables,

modifying each manipulated variable in accordance with the value of each of said third control signals,

measuring the value of each manipulated variable,

summing all of said last named measurements to obtain a total value for said manipulated variables, producing from said last named total value a partial signal for each manipulated variable of value representing a predetermined part of said total value for the manipulated variable such that the sum of all of said parts equals said total, and comparing each of said partial signals to the measured value of the corresponding manipulated variable to produce in accordance with the difference therebetween said correction signals.

2. The method set forth in claim 1 in which the predetermined parts of said first control signal used to produce said second control signals each represent the same fraction of the first control signal as the fractions of the total value of the manipulated variables represented by partial signals.

3. The method set forth in claim 1 in which the absolute value of the first control signal is compared with a predetermined minimum value and the sign of said first control signal is compared with the sign of the third control signal and in which a second control signal is produced only for those manipulated variables for which said signs are the same when the absolute value of the first control signal does not exceed said predetermined minimum value.

4. The method set forth in claim 1 in which said third control signals are each compared with a predetermined limit value and the modification of each manipulated variable is limited in accordance with said limit value.

5. The method set forth in claim 1 in which said partial signals are modified by a value representing the zero offset for the individual manipulated variables.

6. The method as set forth in claim 1 in which said correction signals are compared with predetermined values establishing maximum values for said correction signals,

said correction signals are set to the maximum values if those maximum values are exceeded,

said correction signals are summed to produce an error correcting signal, and

said error correcting signal is subtracted from said first control signal.

7. The method as set forth in claim 1 in which said correction signals are compared with predetermined values establishing a deadband,

said correction signals are set to zero if their value does not exceed the deadband values,

said correction signals are summed to produce an error correcting signal, and

said error correcting signal is subtracted from said first control signal.

8. The method as set forth in claim 1 in which said correction signals are compared with predetermined values establishing a deadband and maximum values for said correction signals,

said correction signals are set to zero if their value does not exceed the deadband values and are set to the maximum values if those maximum values are exceeded,

said correction signals are summed to produce an error correcting signal, and

said error correcting signal is subtracted from sai first control signal.

g g g UNITED STATES PATENT OFFICE v CERTIFICATE OF CORRECTION Patent No. 3 9l,35 ated September 1 1972 Inventor(s) Thomas A. Green and Charles W. Ross It is certified that error appears in the above-identified patent and that said Letters Patent are hereby corrected as shown below:

201. l line 20, "T5 should read --ZO Col line 21, 20'' should read --Z O Col. 5, line 6 "RL Whereas" should read RL Whereas-.

vol 6, line 1, "AP should read -'-APd Col. 6, line'8, after "also" insert --an--.

Col. 6, lines '9 and 50, indicated" should read --indicates-'-'.

Col 8, line 3, "R should read --RL Col. 8, line H8, '2l i should read ---2 O-.

CO1 1O line 65, "ZOlOlO)" should read YZO(lO) ,DPR(lO)- Col. 11, line M1, after "ACTION," insert -E-. I

Signed and sealed this 20th day of February 1973.

(SEAL) Attest;

EDWARD M.FLETCHER,JR. ROBERT GOTTSC HALK Lflttesting Officer Commissioner of Patents J 

1. The method for controlling a plurality of related manipulated variables in a process so as to maintain a measured process variable at its set point while maintaining a predetermined relationship between the manipulated variables comprising the steps of producing in response to an error signal calculated as the deviation of the measured process variable from its set point a first control signal representing the total change desired in all of said manipulated variables to bring said measured process variable back to its set point, producing a separate second control signal for each manipulated variable in response to said first control signal so that each of said secOnd control signals represents a predetermined part of said first control signal and the sum of said second control signals represents the total value of said first control signal, producing third control signals by adding to each of said second control signals a correction signal representing the deviation of the value of the manipulated variable from a value representing a predetermined part of the total value of all of said manipulated variables, modifying each manipulated variable in accordance with the value of each of said third control signals, measuring the value of each manipulated variable, summing all of said last named measurements to obtain a total value for said manipulated variables, producing from said last named total value a partial signal for each manipulated variable of value representing a predetermined part of said total value for the manipulated variable such that the sum of all of said parts equals said total, and comparing each of said partial signals to the measured value of the corresponding manipulated variable to produce in accordance with the difference therebetween said correction signals.
 2. The method set forth in claim 1 in which the predetermined parts of said first control signal used to produce said second control signals each represent the same fraction of the first control signal as the fractions of the total value of the manipulated variables represented by partial signals.
 3. The method set forth in claim 1 in which the absolute value of the first control signal is compared with a predetermined minimum value and the sign of said first control signal is compared with the sign of the third control signal and in which a second control signal is produced only for those manipulated variables for which said signs are the same when the absolute value of the first control signal does not exceed said predetermined minimum value.
 4. The method set forth in claim 1 in which said third control signals are each compared with a predetermined limit value and the modification of each manipulated variable is limited in accordance with said limit value.
 5. The method set forth in claim 1 in which said partial signals are modified by a value representing the zero offset for the individual manipulated variables.
 6. The method as set forth in claim 1 in which said correction signals are compared with predetermined values establishing maximum values for said correction signals, said correction signals are set to the maximum values if those maximum values are exceeded, said correction signals are summed to produce an error correcting signal, and said error correcting signal is subtracted from said first control signal.
 7. The method as set forth in claim 1 in which said correction signals are compared with predetermined values establishing a deadband, said correction signals are set to zero if their value does not exceed the deadband values, said correction signals are summed to produce an error correcting signal, and said error correcting signal is subtracted from said first control signal.
 8. The method as set forth in claim 1 in which said correction signals are compared with predetermined values establishing a deadband and maximum values for said correction signals, said correction signals are set to zero if their value does not exceed the deadband values and are set to the maximum values if those maximum values are exceeded, said correction signals are summed to produce an error correcting signal, and said error correcting signal is subtracted from said first control signal. 